Method, system and device for reducing co-channel interference

ABSTRACT

A device, system and method for applying a whitening transformation to a plurality of samples of a sampled symbol to reduce both temporal correlation between the sampled symbol and a pre-determined number of previous symbols, and a spatial correlation between a plurality of samples.

BACKGROUND OF THE INVENTION

In a wireless communication system, a first wireless communication station may transmit a first signal to a second wireless communication station. Co-channel interference may occur, for example, if a second signal (e.g., the “interference signal”) is transmitted by for example a third wireless communication station, e.g., during the transmission of the first signal. Co-channel interference may result, for example, in errors in estimating a channel and/or a reduction in a probability of successfully decoding or processing a data block of the first signal.

Methods for channel interference cancellation are known in the art. Some interference cancellation methods, for example, methods implementing single antenna interference cancellation (“SAIC”) algorithms, may not explicitly utilize information regarding the interference signal. Such methods are known as blind co-channel interference cancellation.

BRIEF DESCRIPTION OF THE DRAWINGS

The subject matter regarded as the invention is particularly pointed out and distinctly claimed in the concluding portion of the specification. The invention, however, both as to organization and method of operation, together with objects, features and advantages thereof, may best be understood by reference to the following detailed description when read with the accompanied drawings in which:

FIG. 1 is a schematic illustration of a wireless communication system including at least one communication station according to some demonstrative embodiments of the invention;

FIG. 2 is a block diagram of a communication station according to some embodiments of the invention;

FIG. 3 is a block diagram of a vector reducing module according to some embodiments of the invention;

FIG. 4 is a block diagram of a temporal whitening and a spatial whitening module according to an embodiment of the invention; and

FIG. 5 is a flow-chart illustration of a method of reducing co-channel interference according to some embodiments of the invention.

It will be appreciated that for simplicity and clarity of illustration, elements shown in the figures have not necessarily been drawn to scale. For example, the dimensions of some of the elements may be exaggerated relative to other elements for clarity. Further, where considered appropriate, reference numerals may be repeated among the figures to indicate corresponding or analogous elements.

DETAILED DESCRIPTION OF THE INVENTION

In the following detailed description, numerous specific details are set forth in order to provide a thorough understanding of the invention. However it will be understood by those of ordinary skill in the art that the present invention may be practiced without these specific details. In other instances, well-known methods, procedures, components and circuits have not been described in detail so as not to obscure the present invention.

Some portions of the detailed description, which follow, are presented in terms of algorithms and symbolic representations of operations on data bits or binary digital signals within a computer memory. These algorithmic descriptions and representations may be the techniques used by those skilled in the data processing arts to convey the substance of their work to others skilled in the art.

Unless specifically stated otherwise, as apparent from the following discussions, it is appreciated that throughout the specification discussions utilizing terms such as “processing,” “computing,” “calculating,” “determining,” or the like, refer to the action and/or processes of a computer or computing system, or similar electronic computing device, that manipulate and/or transform data represented as physical, such as electronic, quantities within the computing system's registers and/or memories into other data similarly represented as physical quantities within the computing system's memories, registers or other such information storage, transmission or display devices. In addition, the term “plurality” may be used throughout the specification to describe two or more components, devices, elements, parameters and the like. For example, “a plurality of mobile stations” may describe two or more mobile stations.

It should be understood that embodiments of the present invention may be used in a variety of applications. Although the present invention is not limited in this respect, the circuits and techniques disclosed herein may be used in many apparatuses such as receivers of a radio system. Receivers that may be used with embodiments of the present invention include, by way of example only, wireless local area network (WLAN) receivers, two-way radio receivers, digital system receivers, analog system receivers, cellular radiotelephone receivers and the like.

Types of cellular radiotelephone systems that may be used with embodiments of the present invention include, although are not limited to, Global System for Mobile communication (GSM) cellular radiotelephone, Time Division Multiple Access (TDMA), Extended-TDMA (E-TDMA), General Packet Radio Service (GPRS), Extended GPRS, and the like. Other types of networks and communications systems can be used with embodiments of the present invention.

The term “portable communication device”, as used herein, may refer to, but is not limited to, a mobile station, a portable radiotelephone device, a cellular telephone, a cellular device, personal computer, Personal Digital Assistant (PDA), user equipment, and the like.

Some embodiments of the invention may be implemented, for example, using a machine-readable medium or article which may store an instruction or a set of instructions that, if executed by a machine (for example, by stations of wireless communication system, by a cellular telephone, and/or by other suitable machines), cause the machine to perform a method and/or operations in accordance with embodiments of the invention. Such machines may include, for example, any suitable processing platform, computing platform, computing device, processing device, computing system, processing system, computer, processor, or the like, and may be implemented using any suitable combination of hardware and/or software. The machine-readable medium or article may include, for example, any suitable type of computer-readable memory unit, memory device, memory article, memory medium, storage device, storage article, storage medium and/or storage unit, for example, memory, removable or non-removable media, erasable or non-erasable media, writeable or re-writeable media, digital or analog media, hard disk, floppy disk, Compact Disk Read Only Memory (CD-ROM), Compact Disk Recordable (CD-R), Compact Disk Rewriteable (CD-RW), optical disk, magnetic media, various types of Digital Versatile Disks (DVDs), a tape, a cassette, or the like. The instructions may include any suitable type of code, for example, source code, compiled code, interpreted code, executable code, static code, dynamic code, or the like, and may be implemented using any suitable high-level, low-level, object-oriented, visual, compiled and/or interpreted programming language, e.g., C, C++, Java, BASIC, Pascal, Fortran, Cobol, assembly language, machine code, or the like.

Reference is now made to FIG. 1, which schematically illustrates a wireless communication system 100 according to some embodiments of the invention.

System 100 may include one or more wireless communication stations, for example, wireless communications stations 101, 102 and 103. Other numbers of stations may be used.

Stations 101, 102 and/or 103 may communicate among themselves and with other devices over a shared wireless media 120, which may include, for example, wireless communication links 111, 112 and 113. For example, station 101 may communicate with one or more other stations of system 100 through link 111, station 102 may communicate with one or more other stations of system 100 through link 112, and/or station 103 may communicate with one or more other stations of system 100 through link 113.

Station 101 may transmit a first signal to station 103, e.g., during a first time period. Station 102 may transmit a second signal, for example, to station 103 and/or to any other station, e.g., during a second time period at least partially overlapping the first time period. The transmission of two or more signals during at least partially overlapping time periods may result in interference such as co-channel interference (“CCI”). Accordingly, a station in system 100, e.g., station 103, may receive a signal including a combination of the signal intended to be received by the station, e.g., the first signal, and the CCI.

According to some embodiments of the invention, one or more of stations 101, 102 and 103 may be able to estimate, detect, reduce and/or cancel the CCI relating to a received signal, e.g., as described in detail below. For example, station 103 may be able to detect, reduce and/or cancel the CCI or other interference relating to one or more signals, e.g., the first signal, received by station 103.

Reference is now made to FIG. 2, which schematically illustrates a block diagram of a wireless communication station 200 according to some embodiments of the invention. Although the invention is not limited in this respect, station 200 may perform the functionality of station 103 (FIG. 1).

According to some embodiments of the invention, station 200 may include an antenna 205. Antenna 205 may include an internal and/or external radio frequency (RF) antenna. In some embodiments, for example, antenna 205 may include a dipole antenna, a monopole antenna, an omni-directional antenna, an end fed antenna, a circularly polarized antenna, a micro-strip antenna, a diversity antenna, or any other type of antenna suitable for sending and receiving wireless communication signals, blocks, frames, packets, messages and/or data.

Station 200 may optionally include a transmitter 201 to transmit wireless communication signals, blocks, frames, packets, messages and/or data, e.g., via antenna 205 as is known in the art.

Station 200 may also include a receiver 203. Receiver 203 may be able to receive a signal, denoted y, e.g., via antenna 205. The received signal y may be for example an analog complex signal and may include a combination of a signal intended to be received by communication station 200, and one or more interference signals, for example, CCI or interference from other noise sources like thermal noise, denoted e. Other types of signals may be used, and other types of interference may occur and be dealt with. Signal y, also referred to herein as a “slot”, may represent a sequence of symbols or other information transmitted from a different communication station, e.g. station 101 (FIG. 1). Each slot may include for example a training sequence, a sequence of symbols known to the receiver which enables the receiver to gather information about the channel characteristics and a data sequence. Other or different data may be included.

According to some embodiments of the invention receiver 203 and/or transmitter 201 may be implemented, for example, using separate and/or integrated units, for example, using a transmitter-receiver or a transceiver, e.g., as is known in the art.

Receiver 203 may include a sampler 210 which may convert the analog received signal into digital signal, as in known in the art, and may sample the received signal y, for example, in a rate of R samples per symbol. Sampler 210 may be able to generate a sampled complex signal, denoted r, e.g., as is known in the art.

According to some embodiments of the invention, receiver 203 may include a buffer 220 which may temporarily store samples or portions of one or more slots received from sampler 210 which may be waiting to be sent to other components, blocks or units of receiver 203. For example, buffer 220 may store and output complex samples r(1),r(2), . . . r(n) wherein n=1-number of samples per slot.

The complex signal r may be represented as for example s vectors denoted by r₁,r₂, . . . r_(s) as follows: r _(d)(n)=Re(r((n−1)R+(d+1)/2)) for odd d r _(d)(n)=Im(r((n−1)R+d/2)) for even d  [1]

Wherein s denotes the number of samples per symbol multiplied by 2 (for each sample there may be a real part and imaginary part), d=1−s and R denotes the number of samples per symbol at the receiver. For example for R=2

r₁(1)—denotes the first real sample of the first symbol.

r₂(1)—denotes the first imaginary sample of the first symbol.

r₃(1)—denotes the second real sample of the first symbol.

r₄(1)—denotes the second imaginary sample of the first symbol.

For each sample of r, a vector of s elements may be represented: $\begin{matrix} {{\underset{\_}{X}(n)} = \begin{bmatrix} {r_{1}(n)} \\ {r_{2}(n)} \\ \cdots \\ {r_{s}(n)} \end{bmatrix}} & \lbrack 2\rbrack \end{matrix}$ Furthermore, the preceding samples of X(n) may be represented as follows: $\begin{matrix} {{\underset{\_}{Y}(n)} = {\begin{bmatrix} {\underset{\_}{X}\left( {n - 1} \right)} \\ {\underset{\_}{X}\left( {n - 2} \right)} \\ \cdots \\ {\underset{\_}{X}\left( {n - {max\_ delay}} \right)} \end{bmatrix} = \begin{bmatrix} {r_{1}\left( {n - 1} \right)} \\ {r_{2}\left( {n - 1} \right)} \\ \cdots \\ {r_{s}\left( {n - 1} \right)} \\ {r_{1}\left( {n - 2} \right)} \\ \cdots \\ {r_{s}\left( {n - {max\_ delay}} \right)} \end{bmatrix}}} & \lbrack 3\rbrack \end{matrix}$ Wherein n is the sample index and max_delay is a system parameter which may be chosen to improve performance and may determine the size of C.

Other formulas or representations may be used, and other parameters may be used. Station 200 may also include a channel estimator 212. Channel estimator 212 may be able to estimate, using for example the received vector r at the training sequence and the known transmitted symbols, the physical channel or the channel impulse response, denoted ĥ, and also referred to herein as the “channel estimation”, e.g., as is known in the art. Channel estimator 212 may be implemented by software, by hardware, or by any combination of software and/or hardware as may be suitable for specific applications, and/or in accordance with specific design requirements, e.g., as are known in the art.

Station 200 may also include a noise estimator 213. Noise estimator 213 may be able to estimate, using the received vector r at the training sequence and the known transmitted symbols and the estimated channel, the estimated noise, or error, denoted ê, as is known in the art. Signal r may be represented for example as described as follows (other representations-for formulae may be used): r=h*T+e  [4] Wherein T denotes the transmitted symbols at the transmitter side and * denotes convolution.

According to equation 4 noise estimator 213 may estimate the error or the noise according to the next equation for training sequence symbols: ê=r−ĥ*T  [5]

The noise may be represented in accordance with the received signal r representation as follows: ê _(d) =Re(ê((n−1)R+(d+1)/2)) for odd d ê _(d) =Im(ê((n−1)R+d/2)) for even dod d  [6]

Noise estimator 213 may be implemented by software, by hardware, or by any combination of software and/or hardware as may be suitable for specific applications, and/or in accordance with specific design requirements, e.g., as are known in the art.

Station 200 may include a signal transformer 214 which may be able to apply for example a whitening transformation to signal r to reduce for example both temporal and spatial correlation, based on a covariance between samples of symbols of r as described in detail below. Other functions may be performed.

As with other modules, transformer 214 may be implemented, for example, by a processor, a central processing unit (CPU), possibly in conjunction with software, a digital signal processor (DSP), a microprocessor, a controller, a chip, a microchip, or any other suitable multi-purpose or specific processor.

According to some embodiments of the invention, signal transformer 214 may include a covariance estimator 215. Covariance estimator 215 may estimate the covariance matrix of the estimated noise related to the sampled symbols, denoted C, using the noise estimation ê. The elements of matrix C may be calculated according to for example the following formula (other formulae may be used): $\begin{matrix} {{C\left( {{{is} + k},{{js} + l}} \right)} = {\frac{1}{b - a + 1}{\sum\limits_{n = a}^{b}{{{\hat{e}}_{k}\left( {n - j} \right)}{{\hat{e}}_{l}\left( {n - k} \right)}}}}} & \lbrack 7\rbrack \end{matrix}$ Wherein a is the index of the first training sequence's sample, b is the index of the last training sequence's sample, i, j are integer indexes between 0 to maximum delay and k, l are integer indexes between 1 and s.

An illustration of the top 2*6 elements of covariance matrix C may be: $C = \begin{bmatrix} {E\left\lbrack {{{\hat{e}}_{1}(n)}{{\hat{e}}_{1}(n)}} \right\rbrack} & {E\left\lbrack {{{\hat{e}}_{1}(n)}{{\hat{e}}_{2}(n)}} \right\rbrack} & {E\left\lbrack {{{\hat{e}}_{1}(n)}{{\hat{e}}_{3}(n)}} \right\rbrack} & {E\left\lbrack {{{\hat{e}}_{1}(n)}{{\hat{e}}_{4}(n)}} \right\rbrack} & {E\left\lbrack {{{\hat{e}}_{1}\left( {n - 1} \right)}{{\hat{e}}_{1}(n)}} \right\rbrack} & {E\left\lbrack {{{\hat{e}}_{1}\left( {n - 1} \right)}{{\hat{e}}_{2}(n)}} \right\rbrack} & \cdots \\ {E\left\lbrack {{{\hat{e}}_{2}(n)}{{\hat{e}}_{1}(n)}} \right\rbrack} & {E\left\lbrack {{{\hat{e}}_{2}(n)}{{\hat{e}}_{2}(n)}} \right\rbrack} & {E\left\lbrack {{{\hat{e}}_{2}(n)}{{\hat{e}}_{3}(n)}} \right\rbrack} & {E\left\lbrack {{{\hat{e}}_{2}(n)}{{\hat{e}}_{4}(n)}} \right\rbrack} & {E\left\lbrack {{{\hat{e}}_{2}\left( {n - 1} \right)}{{\hat{e}}_{1}(n)}} \right\rbrack} & {E\left\lbrack {{{\hat{e}}_{2}\left( {n - 1} \right)}{{\hat{e}}_{2}(n)}} \right\rbrack} & \quad \\ \quad & \quad & \quad & \quad & \quad & \quad & \quad \\ \quad & \quad & \quad & \quad & \quad & \quad & \quad \\ \quad & \quad & \quad & \quad & \quad & \quad & \quad \\ \quad & \quad & \quad & \quad & \quad & \quad & \quad \\ \quad & \quad & \quad & \quad & \quad & \quad & \quad \\ \quad & \quad & \quad & \quad & \quad & \quad & \quad \\ \quad & \quad & \quad & \quad & \quad & \quad & \quad \end{bmatrix}$

Wherein E[ ] denotes an expectation value. An empirical covariance between the elements may be used for estimation of the matrix elements. For example: $\begin{matrix} {{{C\left( {1,1} \right)} = {\frac{1}{b - a + 1}{\sum\limits_{n = a}^{b}{{{\hat{e}}_{1}(n)}{{\hat{e}}_{1}(n)}}}}}{{C\left( {1,2} \right)} = {\frac{1}{b - a + 1}{\sum\limits_{n = a}^{b}{{{\hat{e}}_{1}(n)}{{\hat{e}}_{2}(n)}}}}}{{C\left( {1,5} \right)} = {\frac{1}{b - a + 1}{\sum\limits_{n = a}^{b}{{{\hat{e}}_{1}(n)}{{\hat{e}}_{2}\left( {n - 1} \right)}}}}}{{C\left( {5,5} \right)} = {\frac{1}{b - a + 1}{\sum\limits_{n = a}^{b}{{{\hat{e}}_{1}\left( {n - 1} \right)}{{\hat{e}}_{1}\left( {n - 1} \right)}}}}}} & \lbrack 8\rbrack \end{matrix}$

Another representation of matrix C may be: $\begin{matrix} {C = \begin{bmatrix} C_{xx} & ❘ & C_{xy} \\  - & - & - \\ C_{yx} & ❘ & C_{yy} \end{bmatrix}} & \lbrack 9\rbrack \end{matrix}$ Wherein C_(xx) denotes a s*s size matrix and C_(yy) denotes a (s*max_delay)*(s*max_delay) size matrix.

According to some embodiments of the invention, signal transformer 214 may include a temporal whitening module 216. Temporal whitening module 216 may be able to apply a temporal whitening transformation to r to reduce temporal correlation between a sampled symbol of r and a predetermined number of previous symbols of r. Temporal whitening module 216 may receive for example both X(n) and Y(n) representing a slot, matrix C and channel estimation ĥ.

Temporal whitening module 216 may apply the following equation on X(n) and Y(n) (other equations may be used): {circumflex over (X)} (n)= {circumflex over (X)} (n)−E[X (n)| Y (n)]  [10]

Wherein: E[X (n)| Y (n)]=C _(xy) C _(yy) ⁻¹ Y (n)  [11]

The result vector {circumflex over (X)}(n) may include samples of the n-th symbol with reduced correlation level to samples of the previous symbols.

Temporal whitening module 216 may apply the same transformation applied to the received signal (e.g., as described in equation 10) to the channel estimation ĥ, in order to calculate the effect of the transformation (which is a linear transformation) on the channel estimation too. The result channel estimation is denoted ĥ(n). As with other formulae and calculations described herein, other suitable formulae and calculations may be used.

According to some embodiments of the invention, signal transformer 214 may include a spatial whitening module 217. Spatial whitening module 217 may be able to apply a spatial whitening transformation to {circumflex over (X)}(n) to reduce spatial correlation between samples of r's symbols. Spatial whitening module 217 may receive for example {circumflex over (X)}(n), matrix C and ĥ(n).

Spatial whitening module 217 may calculate matrix C

for example as follows: $\begin{matrix} \begin{matrix} {{{C\underset{X}{)}}\underset{X}{)}} = {E\left( {{\underset{\_}{\hat{X}}}^{T}\underset{\_}{\hat{X}}} \right)}} \\ {= {E\left( {\left( {\underset{\_}{X} - {C_{xy}C_{yy}^{- 1}\underset{\_}{Y}}} \right)\left( {\underset{\_}{X} - {C_{xy}C_{yy}^{- 1}\underset{\_}{Y}}} \right)^{T}} \right)}} \\ {= {{E\left( {\underset{\_}{X}{\underset{\_}{X}}^{T}} \right)} - {2{E\left( {C_{xy}C_{yy}^{- 1}\underset{\_}{Y}{\underset{\_}{X}}^{T}} \right)}} + {E\left( {C_{xy}C_{yy}^{- 1}\underset{\_}{Y}{\underset{\_}{Y}}^{T}C_{yy}^{- 1}C_{xy}} \right)}}} \\ {= {C_{xx} - {2C_{xy}C_{yy}^{- 1}C_{yx}} + {C_{xy}C_{yy}^{- 1}C_{yy}C_{yy}^{- 1}C_{xy}}}} \\ {= {C_{xx} - {C_{xy}C_{yy}^{- 1}C_{yx}}}} \end{matrix} & \lbrack 12\rbrack \end{matrix}$

Spatial whitening module 217 may apply a spatial transformation on {circumflex over (X)}(n) as follows: {tilde over (X)} (n)=√{square root over (D ⁻)}V ^(T) {circumflex over (X)} (n)  [13] Wherein D is a diagonal s*s eigenvalues matrix, and V is an s*s eigenvectors matrix of C

and wherein √{square root over (D⁻)}V^(T)=√{square root over (C⁻¹

)} which may be denoted as the “sphering” matrix.

As described in equations 12 and 13 spatial whitening module 217 may calculate the eigenvalues and eigenvectors of C

. Furthermore spatial whitening module 217 may calculate the projection of each sample of {circumflex over (X )} on the eigenvector and may divide it by square root of the eigenvalue such that the variance in this direction may equal 1. The result vector {tilde over (X)}(n) may include reduced correlation samples of the n-th symbol and may be represented by the following notation: $\begin{matrix} {{\underset{\_}{\overset{\sim}{X}}(n)} = \begin{bmatrix} {u_{1}(n)} \\ {u_{2}(n)} \\ \cdots \\ {u_{s}(n)} \end{bmatrix}} & \lbrack 14\rbrack \end{matrix}$ Wherein each element u₁, . . . ,u_(s) is a vector.

Other suitable representation may be used.

Spatial whitening module 217 may apply the same transformation applied to {circumflex over (X)}(n) (e.g., as described in equation 13) to ĥ(n) in order to calculate the effect of the transformation (which is a linear transformation) on the channel estimation. The result channel estimation may be denoted {tilde over (h)}(n) and may include vectors of channels ({tilde over (h)} ₁, . . . ,{tilde over (h)} _(s)).

In some embodiments of the invention temporal whitening module 216 and spatial whitening module 217 may be implemented as a single module applying for example the following equation and as further described in FIG. 4: $\begin{matrix} {{\underset{\_}{\overset{\sim}{X}}(n)} = {\sqrt{D^{- 1}}{V^{T}\left\lbrack {I_{s^{*}s}❘{{- C_{xy}}C_{yy}^{- 1}}} \right\rbrack}\begin{pmatrix} {\underset{\_}{X}(n)} \\ {\underset{\_}{X}\left( {n - 1} \right)} \\ \cdots \\ {X\left( {n - {max\_ delay}} \right)} \end{pmatrix}}} & \lbrack 15\rbrack \end{matrix}$ Wherein I_(s*s) denotes an s*s unit matrix.

The temporal whitening module 216 and spatial whitening module 217 may apply linear transformations which may be based for example on the theory that estimating the probability of a symbols sequence received may be equal to estimating the probability of the noise, e.g., the probability of the received signal minus the expected signal. In case of white noise the calculation may be as follows: P(X ₁ . . . X _(N))=P(X ₁)P(X ₂) . . . P(X _(n)) log P(X ₁ . . . X _(N))=log P(X ₁)+log P(X ₂)+ . . . +log P(X _(n))  [12] Wherein Xi may represent X(n) where n=i (e.g., each X element in equation 12 may represent a vectors of s samples of the n-th symbol).

In a non white noise calculation the calculation may be as follows: P(X ₁ . . . X _(N))=P(X ₁)P(X ₂ |X ₁)P(X ₃ |X ₂ ,X ₁)P(X ₄ |X ₃ ,X ₂ ,X ₁) . . . P(X _(N) |X ₁ . . . X _(N−1))≅ΠP(X _(n−1) , . . . ,X _(n-max) _(—) _(delay))  [13] The calculation of equation 13 may be performed using temporal whitening module 216 and spatial whitening module 217, for example as described herein Some embodiments of the invention may include a spatial whitening module, e.g., spatial whitening module 217, a temporal whitening module e.g., temporal whitening module 216, and a covariance estimator, e.g., covariance estimator 215 being implemented as different elements of a transformer such as a signal transformer, e.g., signal transformer 214. However, it will be appreciated by those skilled in the art that other embodiments of the invention may include a covariance estimator and/or a temporal whitening module being implemented as part of a spatial whitening module, or in other manners. Further, the various calculations described herein, while described with certain embodiments as being performed by certain modules, may be performed by other sets of modules, with other names.

Station 200 may optionally include a vector reducer 218 and one or more equalizers 219. Vector reducer 218 may reduce s output vectors of {tilde over (X)}(n) into one or more z _(i) vectors according to the number and the type of equalizers 219 by applying a linear transformation as described in detail below in FIG. 3. For example, If equalizer 219 includes M real equalizers vector reducer 218 may reduce s vectors into z _(i) output vectors, wherein i=1−M, if equalizer 219 includes M complex equalizers vector reducer 218 may reduce s vectors into z _(i) output vectors wherein i=1 −(M*2) output vectors.

Furthermore vector reducer 218 may apply the same linear transformation applied on {tilde over (X)}(n) on {tilde over (h)}(n) and may reduce the number of channel estimation vectors denoted h _(i) in accordance with the reduction of {tilde over (X)}(n) vectors.

According to some embodiments of the invention, station 200 may include an equalizer 219. Equalizer 219 may include one or more equalizers which may be able to remove distortion from vectors z _(i), to compensate for distortion of vectors z _(i) and/or to otherwise enhance and/or equalize vectors z _(i). For example, equalizer 219 may include suitable equalizing circuitry, e.g., as is known in the art. Equalizer 219 may also receive h _(i) from vector reducer 218. Furthermore equalizer 219 may include any suitable type of equalizers, for example, real equalizers or complex equalizers.

Some embodiments of the invention may include a signal transformer, e.g., signal transformer 214, an equalizer, e.g., equalizer 219, and a vector reducer, e.g., vector reducer 218 being implemented for example as different elements of a wireless communication station, e.g., station 200. However, it will be appreciated by those skilled in the art that other embodiments of the invention may include an equalizer and/or a vector reducer being implemented as part of a signal transformer.

Station 200 may include memory 220. Memory 220 may store for example estimations, instructions, parameters, values and/or data, which may be used and/or calculated in accordance with some embodiments of the invention. For example, memory 220 may store samples of signal r, transformed signals {circumflex over (X)}(n), matrix C elements and/or other elements which may be used for generating signals {tilde over (X)}(n) as described herein. Memory 220 may include, for example, a Random Access Memory (RAM), a Read Only Memory (ROM), a Dynamic RAM (DRAM), a Synchronous DRAM (SD-RAM), a Flash memory, a volatile memory, a non-volatile memory, a cache memory, a buffer, a short term memory unit, a long term memory unit, or other suitable memory units or storage units.

Although the scope of the present invention is not limited in this respect, signal transformer 214, and/or vector reducer 218, and other modules discussed herein, may include or be included within an application specific integrated circuit (ASIC), a reduced instruction set circuit (RISC), a digital signal processor (DSP) or a central processing unit (CPU). Instructions to enable computing unit to perform methods of embodiments of the present invention may be stored in for example memory 220, as for example software, being executed by a processor or controller. Other modules may similarly be included within or include such circuits, or be embodied in such instructions.

Reference is now made to FIG. 3, which schematically illustrates a block diagram of a vector reducer 300 according to some embodiments of the invention. Although the invention is not limited in this respect, vector reducer 300 may perform the functionality of vector reducer 218 (FIG. 2).

According to some embodiments of the invention, vector reducer 300 may be able to apply the following linear transformation (other transformations may be used): $\begin{matrix} {z_{i} = {\sum\limits_{j = 1}^{s}{w_{ij}{\underset{\_}{x}}_{j}}}} & \lbrack 14\rbrack \end{matrix}$ Wherein i=1−(2*M), wherein w denotes a (s*(2*M)) matrix and w_(ij) is the element (i,j) of the matrix W. For example, if equalizer 219 includes one complex equalizer the linear transformation of equation 14 may be: z ₁ =w ₁₁ u ₁ +w ₁₂ u ₂ + . . . +w _(1s) u _(s) z ₂ =w ₂₁ u ₁ +w ₂₂ u ₂ + . . . +w _(2s) u _(s)  [15] Wherein u₁,u₂, . . . ,u_(s) are the elements of {tilde over (X)}(n) generated by signal transformer 214. If equalizer 219 includes one real equalizer, vector reducer 218 may generate one vector r _(eq) as follows: r _(eq) =z ₁ +jz ₂  [16]

Other suitable formulas may be used.

Vector reducer 300 may include an optimal weight calculator 310. Optimal weight calculator 310 may receive {tilde over (X)}(n) and {tilde over (h)}(n) and may be able to find and/or calculate the optimal values of matrix w elements as described further below. Optimal weight calculator 310 may use {tilde over (h)}(n), for example, received from spatial whitening module 217 and generate a L*s matrix {tilde over (H)}, wherein L denotes the channel length e.g., the number of symbols per channel and wherein each column of {tilde over (H)} may be the estimated channel of different symbol sample, e.g., each column may be one of the vectors {tilde over (h)} ₁, . . . ,{tilde over (h)} _(s) those {tilde over (H)} may be represented as follows: {tilde over (H)}=└{tilde over (h)} ₁ {tilde over (h)} ₂ . . . {tilde over (h)},┘  [17]

Optimal weight calculator 310 may be able to calculate matrix G as follows: G={tilde over (H)} ^(T) {tilde over (H)}   [18] Wherein G may represent an s*s matrix.

Furthermore optimal weight calculator 310 may calculate the eigenvectors with the largest eigenvalues of matrix G and to generate matrix W, e.g., the rows of W may be the eigenvectors with the largest eigenvalues of matrix G.

According to some embodiments of the invention, the eigenvectors with the largest eigenvalues of matrix G may maximize output signals z_(i). The eigenvectors with the largest eigenvalues of matrix G may be the optimal value for the linear transformation matrix w.

The equivalent channel at the output of the first symbol sample. E.g., as received from signal transformer 214 may be represented as follows: $\begin{matrix} {{{\overset{\sim}{h}}_{{eq},1}(n)} = {\sum\limits_{d}{w_{1d}{\overset{\sim}{H}\left( {{n + 1},d} \right)}}}} & \lbrack 19\rbrack \end{matrix}$ Wherein {tilde over (H)}(i,j) denotes the (i,j) element of matrix {tilde over (H)}.

The SNR which may result is for example: $\begin{matrix} {{SNR} = \frac{\sum\limits_{n}{h_{{eq},1}^{2}(n)}}{\sum\limits_{d}w_{1d}^{2}}} & \lbrack 20\rbrack \end{matrix}$ The SNR may be maximized if |H_(eq) ^(|2) may be maximized subject to constraint ${\sum\limits_{d}W_{d}^{2}} = 1.$

According to some embodiments of the invention, optimal weight calculator 318 may be able to find maximum value of the following expression denoted by Q by deriving, for example, by using lagrange multiplier, for example: $\begin{matrix} {{Q = {{\frac{1}{2}{\sum\limits_{n}\left( {\sum\limits_{d}{W_{d}{H\left( {{n + 1},d} \right)}}} \right)^{2}}} + {\frac{1}{2}{\lambda_{1}\left( {{\sum\limits_{d}W_{d}^{2}} - 1} \right)}}}}{\frac{\mathbb{d}Q}{\mathbb{d}\underset{\_}{W}} = {{{\left( {H^{T}H} \right)\underset{\_}{W}} - {\lambda_{1}\underset{\_}{W}}} = 0}}} & \lbrack 21\rbrack \end{matrix}$ Wherein W ₁ denotes the first row of matrix W. W ₁ may denote the eigenvectors of G and the SNR may be the value of the eigenvalue corresponds to the selected eigenvector.

The eigenvectors of matrix G may be orthogonal, and optimal weight calculator 310 may use for example the eigenvectors of G with the highest eigenvalues as the W elements.

According to some embodiments of the invention, vectors reducer 306 may include calculator 320. Calculator 320 may include plurality of multipliers and/or adders which may be able to multiply the optimal weights w_(ij) by the corresponding signals u _(j) and to add the multipliers sum (as described in equation set 14). For example for calculating z ₁=w₁₁ u ₁+w₁₂ u ₂+ . . . w_(1s) u _(s)S multipliers and s adders may be used. Any other number of multipliers and adders may be used and any other mathematical components may be used.

Calculator 320 may optionally include additional adders to create real vectors from complex vectors. (as described in equation 16)

Reference is now made to FIG. 4, which is a block diagram of a temporal whitening module and spatial whitening module according to an embodiment of the invention.

Although the invention is not limited in this respect, a temporal whitening module, e.g. temporal whitening module 214 of FIG. 2 and a spatial whitening module, e.g., spatial whitening module 217 of FIG. 2 may be implemented as one temporal-spatial module 400 which may be able to may be able to apply both a temporal whitening transformation to r to reduce temporal correlation between a sampled symbol of r and a predetermined number of previous symbols of r and a spatial whitening transformation to reduce spatial correlation between samples of r symbols. Temporal-spatial module 400 may calculate the following equation: $\begin{matrix} {{\overset{\sim}{\underset{\_}{X}}(n)} = {\sqrt{D^{- 1}}{V^{T}\left\lbrack I_{s*s} \middle| {{- C_{xy}}C_{yy}^{- 1}} \right\rbrack}\begin{pmatrix} {\underset{\_}{X}(n)} \\ {\underset{\_}{X}\left( {n - 1} \right)} \\ \cdots \\ {\underset{\_}{X}\left( {n - {max\_ delay}} \right)} \end{pmatrix}}} & \lbrack 22\rbrack \end{matrix}$

An equivalent representation of equation 22 may be for example: $\begin{matrix} {{\overset{\sim}{\underset{\_}{X}}(n)} = {\sqrt{D^{- 1}}{V^{T}\left\lbrack I_{s*s} \middle| {{- C_{{xy}\quad}}C_{yy}^{- 1}} \right\rbrack}\begin{pmatrix} {r_{1}(n)} \\ {r_{2}(n)} \\ \cdots \\ {r_{s}(n)} \\ {r_{1}\left( {n - 1} \right)} \\ {r_{2}\left( {n - 1} \right)} \\ \cdots \\ {r_{s}\left( {n - 1} \right)} \\ {r_{1}\left( {n - {max\_ delay}} \right)} \\ {r_{2}\left( {n - {max\_ delay}} \right)} \\ \cdots \\ {r_{s}\left( {n - {max\_ delay}} \right)} \end{pmatrix}}} & \lbrack 23\rbrack \end{matrix}$

FIG. 4 illustrates an embodiment of the invention where for example, a complex signal sampled at a rate of one sample per symbol may be related to the input signal r such that s=2 and max_delay may also be 2.

According to an illustrative embodiment of the invention, temporal-spatial module 400 may receive X(n), matrix C and channel estimation ĥ. Furthermore, tempo-spatial module 400 may include a filter arrangement 410. Filter arrangement 410 may be able to perform equation 23 by for example, four linear filters: filter F11 411, filter F12 412, filter F21 413 and filter F22 414.

According to some embodiments of the invention, filters 411-414 may apply the for example following expression: √{square root over (D ⁻¹ V ^(T))}[I _(s*s) |−C _(xy) C _(yy) ⁻¹  ][24] on X(n) and ĥ. In some embodiments of the invention, filter F11 411 may apply the first element of the expression, filter F12 412 may apply the second element of the expression, filter F21 413 may apply the third element of the expression and filter F22 414 may apply the fourth element of the expression. For example if s=2 the expression 24 may be a 2*6 matrix and each filter 411-414 may include 3 elements of this matrix, e.g., each filter 411-414 may be a 1*3 vector.

According to some embodiments of the invention, temporal-spatial module 400 may include an adder array 420 which may be able to add vectors generated by filter arrangement 410.

Although the scope of the present invention is not limited in this respect interference reducer 600 may generate estimated channel {tilde over (h)}(n) by applying linear filters 411-414 on estimated channel ĥ.

Reference is now made to FIG. 5, which schematically illustrates a method for reducing CCI or other interference according to some embodiments of the invention.

As indicated at block 510 an embodiment of the invention may include reducing CCI of a received signal by applying a temporal and spatial transformation on received signal. Reducing CCI may include, for example, using a signal transformer, e.g., signal transformer 214 as described herein with reference to FIG. 2.

As indicated at block 520 an embodiment of the invention may include estimating the covariance matrix of the estimated noise related to the sampled symbols of the received training sequence. Generating the covariance matrix may include, for example, using a covariance estimator, e.g., covariance estimator 215 as described herein with reference to FIG. 2.

As indicated in block 530 an embodiment of the invention may include applying a temporal whitening transformation to the received signal to reduce temporal correlation between a sampled symbol of the received signal and a predetermined number of previous symbols of the received signal. Furthermore an embodiment of the invention may include applying the temporal whitening transformation to the channel estimation. Applying the temporal whitening transformation may include using the covariance matrix. Generating the reduced temporal correlation between samples of received signal's symbols and samples of the previous received signal's symbols may include, for example, using a temporal whitening module, e.g., temporal whitening module 216 as described herein with reference to FIG. 2.

As indicated in block 540 an embodiment of the invention may include applying a spatial whitening transformation to the reduced temporal correlation signal to reduce spatial correlation between samples of the received signal's symbols. Furthermore an embodiment of the invention may include applying the spatial whitening transformation to the reduced temporal correlation channel estimation. Applying the spatial whitening transformation may include using the covariance matrix. Generating the reduced spatial correlation between samples of the received signal's symbols may include, for example, using a spatial whitening module, e.g., spatial whitening module 217 as described herein with reference to FIG. 2.

As indicated in block 550 an embodiment of the invention may include reducing any number of vectors into one or more vectors by applying a reducing transformation. Reducing the vector number may include, for example, using a vector reducer module, e.g., vector reducer module 218 as described herein with reference to FIG. 2.

As indicated in block 560 the optimal weights of the reducing transformation may be calculated. Such weights may be, for example, elements of a calculated matrix. An embodiment of the invention may include using an estimated channel matrix which may include the estimated channel of different symbol sample. For example, each column of the estimated channel matrix may be a channel of different symbol sample. The product of the estimated channel matrix multiplied by the transpose estimated channel matrix may be generated and the optimal weights may be calculated (such weights may be the eigenvectors with the largest eigenvalues of this matrix). Calculating the optimal weights of the reducing transformation may include, for example, using an optimal weight calculator module, e.g., optimal weight calculator module 310 as described herein with reference to FIG. 3.

As indicated in block 570 a reducing linear transformation for reducing the number of vectors may be applied. An embodiment of the invention may include multiplying the calculated optimal weights by the input vectors. Applying the reducing linear transformation may include, for example, using calculator module, e.g., calculator module 320 as described herein with reference to FIG. 3.

Other operations or series of operations may be used.

While certain features of the invention have been illustrated and described herein, many modifications, substitutions, changes, and equivalents will now occur to those skilled in the art. It is, therefore, to be understood that the appended claims are intended to cover all such modifications and changes as fall within the true spirit of the invention. 

1. A method comprising: applying a whitening transformation to a plurality of samples of a sampled symbol to reduce both temporal correlation between the sampled symbol and a pre-determined number of previous symbols, and a spatial correlation between a plurality of samples.
 2. The method of claim 1 wherein applying the whitening transformation comprises estimating a covariance matrix of estimated noise samples related to samples of a training sequence's symbols.
 3. The method of claim 1 wherein the whitening transformation comprises: a temporal whitening transformation reduce the correlation between the sampled symbol and a predetermined number of previous symbols; and a spatial whitening transformation to reduce the correlation between the plurality of the reduced temporal correlation symbol's samples.
 4. The method of claim 3 wherein the temporal whitening transformation comprises subtracting a conditional expectation of the sampled symbol given the pre-determined number of previous symbols.
 5. The method of claim 1 comprising: receiving a plurality of symbols over a communication channel and applying the temporal whitening transformation to a channel estimation's symbols.
 6. The method of claim 3 wherein the spatial whitening transformation comprises multiplying the sampled symbol's samples by a sphering matrix based on the covariance matrix.
 7. The method of claim 6 wherein the sphering matrix is based on one or more eigenvalues and eigenvectors of the covariance matrix.
 8. The method of claim 1 wherein applying the whitening transformation results in a plurality of vectors of reduced temporal and spatial correlation samples of the symbol.
 9. The method of claim 8 comprising applying a linear transformation to the vectors based on calculated weights.
 10. The method of claim 9 wherein applying the linear transformation comprises generating a reduced number of vectors by calculating a weighted sum of the vectors multiplied by the weights.
 11. The method of claim 9 wherein the weights are eigenvectors with the largest eigenvalues of a matrix related to samples of the channel estimations.
 12. The method of claim 9 comprising applying the linear transformation to a channel estimation's symbols.
 13. An apparatus comprising a transformer to apply a whitening transformation to a plurality of samples of a sampled symbol to reduce both temporal correlation between the sampled symbol and a pre-determined number of previous symbols, and a spatial correlation between a plurality of samples.
 14. The apparatus of claim 13 wherein the transformer comprises a covariance estimator to estimate a covariance matrix of estimated noise samples related to samples of a training sequence's symbols.
 15. The apparatus of claim 13 wherein the transformer comprises: a temporal whitening nodule to reduce the correlation between the sampled symbol and a predetermined number of previous symbols; and a spatial whitening module to reduce the correlation between the plurality of the reduced temporal correlation symbol's samples.
 16. The apparatus of claim 15 wherein the temporal whitening module is to subtract a conditional expectation of a sampled symbol given the predetermined number of previous symbols.
 17. The apparatus of claim 13 wherein the transformer is to apply the temporal whitening transformation to a channel estimation's symbols received over a communication channel.
 18. The apparatus of claim 15 wherein the spatial whitening module is to multiply the sampled symbol's samples by a sphering matrix based on the covariance matrix.
 19. The apparatus of claim 16 wherein the sphering matrix is based on one or more eigenvalues and eigenvectors of the covariance matrix.
 20. The apparatus of claim 13 wherein applying the whitening transformation results in a plurality of vectors of reduced temporal and spatial correlation samples of the symbol.
 21. The apparatus of claim 20 comprising a vector reducer to apply a linear transformation based on calculated weights to the vectors.
 22. The apparatus of claim 21 wherein the vector reducer is to generate a reduced number of vectors by calculating a weighted sum of the vectors multiplied by the weights.
 23. The apparatus of claim 21 wherein the weights are eigenvectors with the largest eigenvalues of a matrix related to samples of the channel estimations.
 24. The apparatus of claim 20 wherein the vector reducer is to apply the linear transformation to a channel estimation's symbols.
 25. A communication system comprising: a station comprising: a dipole antenna to receive a signal; and a transformer to apply a whitening transformation to a plurality of samples of a sampled symbol to reduce both temporal correlation between the sampled symbol and a pre-determined number of previous symbols, and a spatial correlation between a plurality of samples.
 26. The communication system of claim 25 wherein the transformer comprises a covariance estimator to estimate a covariance matrix of estimated noise samples related to samples of a training sequence's symbols.
 27. The communication system of claim 25 wherein the transformer comprises: a temporal whitening nodule to reduce the correlation between the sampled symbol and a predetermined number of previous symbols; and a spatial whitening module to reduce the correlation between the plurality of the reduced temporal correlation symbol's samples.
 28. A computer-readable storage medium containing a set of instructions that when executed, result in: a whitening transformation being applied to a plurality of samples of a sampled symbol to reduce both temporal correlation between the sampled symbol and a predetermined number of previous symbols, and a spatial correlation between the plurality of samples.
 29. The storage medium of claim 28, comprising instructions that result in estimating the covariance matrix of estimated noise samples related to samples of a training sequence's symbols.
 30. The storage medium of claim 28, comprising instructions that result in: a temporal whitening transformation to reduce the correlation between the sampled symbol and a predetermined number of previous symbols; and a spatial whitening transformation to reduce the correlation between the plurality of the reduced temporal correlation symbol's samples. 